using MediatR;
using ProduceBasicData.Api.DTO.WarehouseDto;
using ProduceBasicData.Domain.WarehouseManage.WarehouseEnum;
using ProduceBasicData.ErrorCode;

namespace ProduceBasicData.Api.Application.Command.WarehouseManage
{
    /// <summary>
    /// 获取入库单列表命令
    /// </summary>
    public class GetStockInOrderCommand : IRequest<ApiPaging<StockInOrderDto>>
    {
        /// <summary>
        /// 页码
        /// </summary>
        public int Index { get; set; }

        /// <summary>
        /// 每页条数
        /// </summary>
        public int Size { get; set; }

        /// <summary>
        /// 入库单号
        /// </summary>
        public string? OrderNumber { get; set; }

        /// <summary>
        /// 入库类型
        /// </summary>
        public StockInType? InType { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public StockInStatus? Status { get; set; }

        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime? EndDate { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string? SupplierName { get; set; }
    }
}